编写代码时,大多数程序员会犯错误。这些错误中的一些很小,几乎不需要对原始程序进行编辑 - 最近称为最后一个英里错误的错误。这些错误打破了经验丰富的开发人员的流程,并且可以使新手程序员陷入困境。针对此类错误的现有自动化维修技术是特定于域的,并且不容易延续到新域。转移符号方法需要实质性的工程和神经方法需要数据和重新培训。我们介绍RING,这是一种多语言维修引擎,该引擎由经过代码训练的大型语言模型(例如Codex)提供动力。这样的多语言引擎可以为编程援助提供一个翻转的模型,该模型与传统的代码建议技术相比,程序员编写代码和AI援助建议修复。从程序员手动修复错误的方式中汲取灵感,我们表明,基于迅速的策略将修复作为本地化,转换和候选排名概念化,可以成功地在多个域中成功维修程序,但努力最少。我们通过评估6个不同的域并将性能与域特异性维修引擎进行比较,为这种多语言维修引擎提供了第一个结果。我们表明,环可以超过这些域中3个域中的特定于域特异性修复引擎。我们还确定了使用LLMC进行多语言维修的未来研究方向。
translated by 谷歌翻译